//
//  Hash.swift
//  PlayData
//
//  Created by 魏延龙 on 2022/5/19.
//

import Foundation

class HashFind {
    // MARK: 12. 整数转罗马数字
    /*
     https://leetcode.cn/problems/integer-to-roman/
     */
    func intToRoman(_ num: Int) -> String { // 2222
        let nums = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
        let values = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"]
        
        var result = ""
        var target = num
        while target > 0 {
            for (index, numValue) in nums.enumerated() {
                if target >= numValue {
                    target -= numValue
                    result.append(values[index])
                    break
                }
            }
        }
        return result
    }
}
